const express = require('express');
const router = express.Router();
const { db } = require('../db/database');

// 获取所有用户信息
router.get('/', (req, res) => {
    db.all('SELECT * FROM 用户信息', (err, rows) => {
        if (err) {
            res.status(500).json({ error: err.message });
            return;
        }
        res.json(rows);
    });
});

// 根据用户编号获取单个用户信息
router.get('/:id', (req, res) => {
    const id = req.params.id;
    db.get('SELECT * FROM 用户信息 WHERE 用户编号 =?', [id], (err, row) => {
        if (err) {
            res.status(500).json({ error: err.message });
            return;
        }
        if (!row) {
            res.status(404).json({ error: '用户未找到' });
            return;
        }
        res.json(row);
    });
});

// 添加新用户
router.post('/', (req, res) => {
    const { 用户名, 密码, 邮箱, 联系电话, 收货地址, 是否为管理员 } = req.body;
    const insertUser = db.prepare('INSERT INTO 用户信息 (用户名, 密码, 邮箱, 联系电话, 收货地址, 是否为管理员) VALUES (?,?,?,?,?,?)');
    insertUser.run([用户名, 密码, 邮箱, 联系电话, 收货地址, 是否为管理员], function (err) {
        if (err) {
            res.status(500).json({ error: err.message });
            return;
        }
        res.status(201).json({ id: this.lastID, message: '用户添加成功' });
    });
    insertUser.finalize();
});

// 更新用户信息
router.put('/:id', (req, res) => {
    const id = req.params.id;
    const { 用户名, 密码, 邮箱, 联系电话, 收货地址, 是否为管理员 } = req.body;
    db.run('UPDATE 用户信息 SET 用户名 =?, 密码 =?, 邮箱 =?, 联系电话 =?, 收货地址 =?, 是否为管理员 =? WHERE 用户编号 =?',
        [用户名, 密码, 邮箱, 联系电话, 收货地址, 是否为管理员, id],
        function (err) {
            if (err) {
                res.status(500).json({ error: err.message });
                return;
            }
            if (this.changes === 0) {
                res.status(404).json({ error: '用户未找到' });
                return;
            }
            res.json({ message: '用户信息更新成功' });
        });
});

// 删除用户
router.delete('/:id', (req, res) => {
    const id = req.params.id;
    db.run('DELETE FROM 用户信息 WHERE 用户编号 =?', [id], function (err) {
        if (err) {
            res.status(500).json({ error: err.message });
            return;
        }
        if (this.changes === 0) {
            res.status(404).json({ error: '用户未找到' });
            return;
        }
        res.json({ message: '用户删除成功' });
    });
});

module.exports = router;